{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "colab": { "provenance": [] }, "kernelspec": { "name": "python3", "display_name": "Python 3" }, "language_info": { "name": "python" } }, "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 1000 }, "id": "MtadVJVvJNAd", "outputId": "bd635450-fac0-453b-986e-0f9931fcbab3" }, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ " sepal.length sepal.width petal.length petal.width variety\n", "0 5.1 3.5 1.4 0.2 Setosa\n", "1 4.9 3.0 1.4 0.2 Setosa\n", "2 4.7 3.2 1.3 0.2 Setosa\n", "3 4.6 3.1 1.5 0.2 Setosa\n", "4 5.0 3.6 1.4 0.2 Setosa\n", "Unikalne nazwy kwiatów: ['Setosa' 'Versicolor' 'Virginica']\n", " sepal.length sepal.width petal.length petal.width variety y\n", "0 5.1 3.5 1.4 0.2 Setosa 0\n", "1 4.9 3.0 1.4 0.2 Setosa 0\n", "2 4.7 3.2 1.3 0.2 Setosa 0\n", "3 4.6 3.1 1.5 0.2 Setosa 0\n", "4 5.0 3.6 1.4 0.2 Setosa 0\n", "Epoch 1/50\n", "12/12 [==============================] - 2s 45ms/step - loss: 1.5946 - accuracy: 0.0000e+00 - val_loss: 1.4053 - val_accuracy: 0.0000e+00\n", "Epoch 2/50\n", "12/12 [==============================] - 0s 11ms/step - loss: 1.2706 - accuracy: 0.0167 - val_loss: 1.1117 - val_accuracy: 0.1000\n", "Epoch 3/50\n", "12/12 [==============================] - 0s 10ms/step - loss: 0.9909 - accuracy: 0.2000 - val_loss: 0.8562 - val_accuracy: 0.3000\n", "Epoch 4/50\n", "12/12 [==============================] - 0s 12ms/step - loss: 0.7414 - accuracy: 0.4333 - val_loss: 0.6222 - val_accuracy: 0.7000\n", "Epoch 5/50\n", "12/12 [==============================] - 0s 17ms/step - loss: 0.5105 - accuracy: 0.9333 - val_loss: 0.4302 - val_accuracy: 1.0000\n", "Epoch 6/50\n", "12/12 [==============================] - 0s 17ms/step - loss: 0.3555 - accuracy: 1.0000 - val_loss: 0.3047 - val_accuracy: 1.0000\n", "Epoch 7/50\n", "12/12 [==============================] - 0s 11ms/step - loss: 0.2567 - accuracy: 1.0000 - val_loss: 0.2296 - val_accuracy: 1.0000\n", "Epoch 8/50\n", "12/12 [==============================] - 0s 38ms/step - loss: 0.1982 - accuracy: 1.0000 - val_loss: 0.1820 - val_accuracy: 1.0000\n", "Epoch 9/50\n", "12/12 [==============================] - 0s 16ms/step - loss: 0.1602 - accuracy: 1.0000 - val_loss: 0.1502 - val_accuracy: 1.0000\n", "Epoch 10/50\n", "12/12 [==============================] - 0s 19ms/step - loss: 0.1339 - accuracy: 1.0000 - val_loss: 0.1278 - val_accuracy: 1.0000\n", "Epoch 11/50\n", "12/12 [==============================] - 0s 17ms/step - loss: 0.1149 - accuracy: 1.0000 - val_loss: 0.1102 - val_accuracy: 1.0000\n", "Epoch 12/50\n", "12/12 [==============================] - 0s 11ms/step - loss: 0.0996 - accuracy: 1.0000 - val_loss: 0.0960 - val_accuracy: 1.0000\n", "Epoch 13/50\n", "12/12 [==============================] - 0s 8ms/step - loss: 0.0863 - accuracy: 1.0000 - val_loss: 0.0835 - val_accuracy: 1.0000\n", "Epoch 14/50\n", "12/12 [==============================] - 0s 21ms/step - loss: 0.0746 - accuracy: 1.0000 - val_loss: 0.0725 - val_accuracy: 1.0000\n", "Epoch 15/50\n", "12/12 [==============================] - 0s 17ms/step - loss: 0.0645 - accuracy: 1.0000 - val_loss: 0.0630 - val_accuracy: 1.0000\n", "Epoch 16/50\n", "12/12 [==============================] - 0s 22ms/step - loss: 0.0563 - accuracy: 1.0000 - val_loss: 0.0552 - val_accuracy: 1.0000\n", "Epoch 17/50\n", "12/12 [==============================] - 0s 18ms/step - loss: 0.0496 - accuracy: 1.0000 - val_loss: 0.0489 - val_accuracy: 1.0000\n", "Epoch 18/50\n", "12/12 [==============================] - 0s 20ms/step - loss: 0.0441 - accuracy: 1.0000 - val_loss: 0.0437 - val_accuracy: 1.0000\n", "Epoch 19/50\n", "12/12 [==============================] - 0s 21ms/step - loss: 0.0396 - accuracy: 1.0000 - val_loss: 0.0394 - val_accuracy: 1.0000\n", "Epoch 20/50\n", "12/12 [==============================] - 0s 14ms/step - loss: 0.0359 - accuracy: 1.0000 - val_loss: 0.0357 - val_accuracy: 1.0000\n", "Epoch 21/50\n", "12/12 [==============================] - 0s 21ms/step - loss: 0.0326 - accuracy: 1.0000 - val_loss: 0.0326 - val_accuracy: 1.0000\n", "Epoch 22/50\n", "12/12 [==============================] - 0s 20ms/step - loss: 0.0299 - accuracy: 1.0000 - val_loss: 0.0298 - val_accuracy: 1.0000\n", "Epoch 23/50\n", "12/12 [==============================] - 0s 21ms/step - loss: 0.0274 - accuracy: 1.0000 - val_loss: 0.0276 - val_accuracy: 1.0000\n", "Epoch 24/50\n", "12/12 [==============================] - 0s 27ms/step - loss: 0.0253 - accuracy: 1.0000 - val_loss: 0.0255 - val_accuracy: 1.0000\n", "Epoch 25/50\n", "12/12 [==============================] - 0s 27ms/step - loss: 0.0234 - accuracy: 1.0000 - val_loss: 0.0237 - val_accuracy: 1.0000\n", "Epoch 26/50\n", "12/12 [==============================] - 0s 15ms/step - loss: 0.0218 - accuracy: 1.0000 - val_loss: 0.0221 - val_accuracy: 1.0000\n", "Epoch 27/50\n", "12/12 [==============================] - 0s 14ms/step - loss: 0.0203 - accuracy: 1.0000 - val_loss: 0.0206 - val_accuracy: 1.0000\n", "Epoch 28/50\n", "12/12 [==============================] - 0s 9ms/step - loss: 0.0190 - accuracy: 1.0000 - val_loss: 0.0193 - val_accuracy: 1.0000\n", "Epoch 29/50\n", "12/12 [==============================] - 0s 8ms/step - loss: 0.0178 - accuracy: 1.0000 - val_loss: 0.0181 - val_accuracy: 1.0000\n", "Epoch 30/50\n", "12/12 [==============================] - 0s 7ms/step - loss: 0.0167 - accuracy: 1.0000 - val_loss: 0.0171 - val_accuracy: 1.0000\n", "Epoch 31/50\n", "12/12 [==============================] - 0s 8ms/step - loss: 0.0158 - accuracy: 1.0000 - val_loss: 0.0161 - val_accuracy: 1.0000\n", "Epoch 32/50\n", "12/12 [==============================] - 0s 13ms/step - loss: 0.0149 - accuracy: 1.0000 - val_loss: 0.0152 - val_accuracy: 1.0000\n", "Epoch 33/50\n", "12/12 [==============================] - 0s 8ms/step - loss: 0.0141 - accuracy: 1.0000 - val_loss: 0.0144 - val_accuracy: 1.0000\n", "Epoch 34/50\n", "12/12 [==============================] - 0s 7ms/step - loss: 0.0134 - accuracy: 1.0000 - val_loss: 0.0136 - val_accuracy: 1.0000\n", "Epoch 35/50\n", "12/12 [==============================] - 0s 8ms/step - loss: 0.0127 - accuracy: 1.0000 - val_loss: 0.0130 - val_accuracy: 1.0000\n", "Epoch 36/50\n", "12/12 [==============================] - 0s 9ms/step - loss: 0.0121 - accuracy: 1.0000 - val_loss: 0.0123 - val_accuracy: 1.0000\n", "Epoch 37/50\n", "12/12 [==============================] - 0s 18ms/step - loss: 0.0115 - accuracy: 1.0000 - val_loss: 0.0117 - val_accuracy: 1.0000\n", "Epoch 38/50\n", "12/12 [==============================] - 0s 13ms/step - loss: 0.0109 - accuracy: 1.0000 - val_loss: 0.0112 - val_accuracy: 1.0000\n", "Epoch 39/50\n", "12/12 [==============================] - 0s 9ms/step - loss: 0.0104 - accuracy: 1.0000 - val_loss: 0.0107 - val_accuracy: 1.0000\n", "Epoch 40/50\n", "12/12 [==============================] - 0s 12ms/step - loss: 0.0100 - accuracy: 1.0000 - val_loss: 0.0102 - val_accuracy: 1.0000\n", "Epoch 41/50\n", "12/12 [==============================] - 0s 15ms/step - loss: 0.0096 - accuracy: 1.0000 - val_loss: 0.0098 - val_accuracy: 1.0000\n", "Epoch 42/50\n", "12/12 [==============================] - 0s 9ms/step - loss: 0.0091 - accuracy: 1.0000 - val_loss: 0.0094 - val_accuracy: 1.0000\n", "Epoch 43/50\n", "12/12 [==============================] - 0s 12ms/step - loss: 0.0088 - accuracy: 1.0000 - val_loss: 0.0090 - val_accuracy: 1.0000\n", "Epoch 44/50\n", "12/12 [==============================] - 0s 13ms/step - loss: 0.0084 - accuracy: 1.0000 - val_loss: 0.0087 - val_accuracy: 1.0000\n", "Epoch 45/50\n", "12/12 [==============================] - 0s 8ms/step - loss: 0.0081 - accuracy: 1.0000 - val_loss: 0.0083 - val_accuracy: 1.0000\n", "Epoch 46/50\n", "12/12 [==============================] - 0s 11ms/step - loss: 0.0078 - accuracy: 1.0000 - val_loss: 0.0080 - val_accuracy: 1.0000\n", "Epoch 47/50\n", "12/12 [==============================] - 0s 7ms/step - loss: 0.0075 - accuracy: 1.0000 - val_loss: 0.0077 - val_accuracy: 1.0000\n", "Epoch 48/50\n", "12/12 [==============================] - 0s 8ms/step - loss: 0.0072 - accuracy: 1.0000 - val_loss: 0.0074 - val_accuracy: 1.0000\n", "Epoch 49/50\n", "12/12 [==============================] - 0s 8ms/step - loss: 0.0070 - accuracy: 1.0000 - val_loss: 0.0072 - val_accuracy: 1.0000\n", "Epoch 50/50\n", "12/12 [==============================] - 0s 11ms/step - loss: 0.0067 - accuracy: 1.0000 - val_loss: 0.0069 - val_accuracy: 1.0000\n", "4/4 [==============================] - 0s 4ms/step\n" ] }, { "output_type": "stream", "name": "stderr", "text": [ ":46: DeprecationWarning: elementwise comparison failed; this will raise an error in the future.\n", " errors_train = np.sum(y_result_train != y_train)\n" ] }, { "output_type": "error", "ename": "ValueError", "evalue": "ignored", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 44\u001b[0m \u001b[0my_result_train\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mmodel\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpredict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx_train\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 45\u001b[0m \u001b[0my_result_train\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mround\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0my_result_train\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 46\u001b[0;31m \u001b[0merrors_train\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msum\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0my_result_train\u001b[0m \u001b[0;34m!=\u001b[0m \u001b[0my_train\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 47\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 48\u001b[0m \u001b[0my_result_test\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mmodel\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpredict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx_test\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/pandas/core/ops/common.py\u001b[0m in \u001b[0;36mnew_method\u001b[0;34m(self, other)\u001b[0m\n\u001b[1;32m 70\u001b[0m \u001b[0mother\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mitem_from_zerodim\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mother\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 71\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 72\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mmethod\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mother\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 73\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 74\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mnew_method\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/pandas/core/arraylike.py\u001b[0m in \u001b[0;36m__ne__\u001b[0;34m(self, other)\u001b[0m\n\u001b[1;32m 44\u001b[0m \u001b[0;34m@\u001b[0m\u001b[0munpack_zerodim_and_defer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"__ne__\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 45\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m__ne__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mother\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 46\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_cmp_method\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mother\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0moperator\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mne\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 47\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 48\u001b[0m \u001b[0;34m@\u001b[0m\u001b[0munpack_zerodim_and_defer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"__lt__\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/pandas/core/series.py\u001b[0m in \u001b[0;36m_cmp_method\u001b[0;34m(self, other, op)\u001b[0m\n\u001b[1;32m 6243\u001b[0m \u001b[0mres_values\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mops\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcomparison_op\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlvalues\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrvalues\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mop\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6244\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 6245\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_construct_result\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mres_values\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mres_name\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 6246\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6247\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_logical_method\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mother\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mop\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/pandas/core/series.py\u001b[0m in \u001b[0;36m_construct_result\u001b[0;34m(self, result, name)\u001b[0m\n\u001b[1;32m 3221\u001b[0m \u001b[0;31m# We do not pass dtype to ensure that the Series constructor\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3222\u001b[0m \u001b[0;31m# does inference in the case where `result` has object-dtype.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 3223\u001b[0;31m \u001b[0mout\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_constructor\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mresult\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mindex\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mindex\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3224\u001b[0m \u001b[0mout\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mout\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__finalize__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3225\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/pandas/core/series.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, data, index, dtype, name, copy, fastpath)\u001b[0m\n\u001b[1;32m 468\u001b[0m \u001b[0mdata\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcopy\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 469\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 470\u001b[0;31m \u001b[0mdata\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0msanitize_array\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mindex\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdtype\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcopy\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 471\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 472\u001b[0m \u001b[0mmanager\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mget_option\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"mode.data_manager\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/pandas/core/construction.py\u001b[0m in \u001b[0;36msanitize_array\u001b[0;34m(data, index, dtype, copy, raise_cast_failure, allow_2d)\u001b[0m\n\u001b[1;32m 645\u001b[0m \u001b[0msubarr\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mmaybe_infer_to_datetimelike\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msubarr\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 646\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 647\u001b[0;31m \u001b[0msubarr\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_sanitize_ndim\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msubarr\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdtype\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mindex\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mallow_2d\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mallow_2d\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 648\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 649\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msubarr\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mndarray\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/pandas/core/construction.py\u001b[0m in \u001b[0;36m_sanitize_ndim\u001b[0;34m(result, data, dtype, index, allow_2d)\u001b[0m\n\u001b[1;32m 696\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mallow_2d\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 697\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mresult\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 698\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mValueError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"Data must be 1-dimensional\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 699\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mis_object_dtype\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdtype\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdtype\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mExtensionDtype\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 700\u001b[0m \u001b[0;31m# i.e. PandasDtype(\"O\")\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mValueError\u001b[0m: Data must be 1-dimensional" ] } ], "source": [ "import pandas as pd\n", "import numpy as np\n", "from sklearn.model_selection import train_test_split\n", "from sklearn.metrics import accuracy_score, precision_score, recall_score, confusion_matrix\n", "from keras.models import Sequential\n", "from keras.layers import Dense\n", "\n", "# 1. Przygotowanie danych\n", "url = \"https://marcingabryel.pl/ai/iris.csv\"\n", "iris_data = pd.read_csv(url)\n", "\n", "# Wyświetlenie danych\n", "print(iris_data.head())\n", "\n", "# Unikalne nazwy kwiatów\n", "unique_varieties = iris_data['variety'].unique()\n", "print(\"Unikalne nazwy kwiatów:\", unique_varieties)\n", "\n", "# Wybór jednego kwiatu do klasyfikacji\n", "chosen_variety = 'Iris-setosa'\n", "iris_data['y'] = np.where(iris_data['variety'] == chosen_variety, 1, 0)\n", "\n", "# Wyświetlenie danych po dodaniu kolumny 'y'\n", "print(iris_data.head())\n", "\n", "# 2. Podział danych na część treningową i testującą\n", "x = iris_data[['sepal.length', 'sepal.width', 'petal.length', 'petal.width']]\n", "y = iris_data['y']\n", "\n", "x_train, x_test, y_train, y_test = train_test_split(x, y, stratify=y, test_size=0.2)\n", "\n", "# 3. Przygotowanie modelu sieci neuronowej\n", "model = Sequential()\n", "model.add(Dense(8, input_dim=4, activation='relu'))\n", "model.add(Dense(1, activation='sigmoid'))\n", "\n", "# Kompilacja modelu\n", "model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])\n", "\n", "# 4. Uczenie sieci\n", "model.fit(x_train, y_train, epochs=50, batch_size=10, validation_data=(x_test, y_test))\n", "\n", "# 5. Testowanie skuteczności uczenia sieci\n", "y_result_train = model.predict(x_train)\n", "y_result_train = np.round(y_result_train)\n", "errors_train = np.sum(y_result_train != y_train)\n", "\n", "y_result_test = model.predict(x_test)\n", "y_result_test = np.round(y_result_test)\n", "errors_test = np.sum(y_result_test != y_test)\n", "\n", "print(\"Liczba błędów ciągu treningowego: \", errors_train, \" na \", len(y_train), \" próbek.\")\n", "print(\"Liczba błędów ciągu testowego: \", errors_test, \" na \", len(y_test), \" próbek.\")\n", "\n", "# Obliczenie metryk i macierzy pomyłek\n", "accuracy_train = accuracy_score(y_train, y_result_train)\n", "precision_train = precision_score(y_train, y_result_train)\n", "recall_train = recall_score(y_train, y_result_train)\n", "conf_matrix_train = confusion_matrix(y_train, y_result_train)\n", "\n", "accuracy_test = accuracy_score(y_test, y_result_test)\n", "precision_test = precision_score(y_test, y_result_test)\n", "recall_test = recall_score(y_test, y_result_test)\n", "conf_matrix_test = confusion_matrix(y_test, y_result_test)\n", "\n", "print(\"Metryki dla ciągu treningowego:\")\n", "print(\"Accuracy:\", accuracy_train)\n", "print(\"Precision:\", precision_train)\n", "print(\"Recall:\", recall_train)\n", "print(\"Confusion Matrix:\\n\", conf_matrix_train)\n", "\n", "print(\"\\nMetryki dla ciągu testowego:\")\n", "print(\"Accuracy:\", accuracy_test)\n", "print(\"Precision:\", precision_test)\n", "print(\"Recall:\", recall_test)\n", "print(\"Confusion Matrix:\\n\", conf_matrix_test)\n" ] } ] }